﻿
namespace Kyoh.Lib.Component.Arguments
{
    /// <summary>無効な引数の原因を表す列挙子を定義します。</summary>
    public enum ArgumentInvalidity
    {
        /// <summary><see cref="ArgumentPropertyAttribute.Required"/> が <c> <c>true</c> </c> に設定されている引数に、値が設定されていない。</summary>
        NotSet,
        /// <summary>引数名が重複している。</summary>
        Duplicate,
        /// <summary>引数名が空文字列または空白文字のみで構成されている。</summary>
        EmptyName,
        /// <summary>引数名に引数の区切り文字を含む文字列が設定されている。</summary>
        NameContainsSeparator,
        /// <summary>文字列と相互変換できない型のプロパティを引数として使用している。</summary>
        PropertyType,
        /// <summary>引数接頭文字の定義が不正。</summary>
        Prefix,
        /// <summary>引数区切り文字の定義が不正。</summary>
        Separator,
        /// <summary>引数の解析中に発生したその他のエラー。</summary>
        Parsing,
    }
}
